PHLEGM v8 - Checkpoint 60 - SNES support-slot forensics and reusable GUI icons
Baseline: Checkpoint 59 (SPC700 Timer Diagnostics Compile Fix).

Changes:
- Windows icon browser retains and reuses each rendered icon surface by kind and
  deterministic recolor. Icon classification is now calculated at refresh rather
  than recomputed in WM_PAINT.
- PRG / CART / ROM leaf icons depict a horizontal cartridge brick with bottom pins.
- ZIP icon is a folder with ZERO to THREE CONDITIONAL mini cutouts:
  * one miniature folder only if an archived directory or ZIP exists;
  * one cartridge only if >=1 PRG or cartridge file exists;
  * a second cartridge only if >=2 PRG or cartridge files exist.
  Missing categories do not appear. Nested ZIPs and paths are included.
- Archives are summarized once per registered media node, not on each paint.
  Macro ZIP nodes inspect their already-built tree children. Bitmap cache keys
  include ZIP badge mask, preventing cross-variant reuse.
- Linux GTK icon browser now caches GdkPixbufs by icon type/badge combination,
  with corresponding folder, horizontal cartridge, document and ZIP cutouts.
- SNES-PPU and SNES-CPU-IO native support devices gain diagnostic counters for
  VBlank edges, $4210 reads and successful bit-7 reads, VRAM port writes and DMA
  bytes/channels. Counters reset with the support-device reset path.
- SNES core dumps now contain physical 64K VRAM, 512-byte CGRAM, 544-byte OAM,
  nonzero counts, NMITIMEN and RDNMI latches, and the event/transfer counters.

Forensics caution:
- Inspection of checkpoint 59 source showed $4210 bit 7 was ALREADY latched at
  VBlank independently of NMI enable. The former hypothesis that NMI enable
  gates RDNMI is NOT established by the supplied 7th Saga snapshots.
- This checkpoint adds evidence to separate an empty PPU VRAM, failed DMA,
  unreadable RDNMI and a CHR viewer/graphics decoder issue; it does NOT claim
  to fix 7th Saga display/audio.
- Existing support-slot definitions in cfg/support/... remain the authoritative
  routing descriptors; no SNES instruction semantics were moved into microcode.lib.

Suggested hand test:
1. Start SNES-NTSC, insert 7thsaga.smc, power on, capture two fresh core dumps.
2. Inspect [SNES-SUPPORT-SLOT-DIAGNOSTICS]: rdnmi_reads_bit7_set,
   ppu_vblank_edges, dma_bytes_transferred and ppu_vram_nonzero.
3. Compare [SNES-PPU-VRAM] before and after, and check the CHR viewer.
4. Open Icons view with ZIP archives containing 0, 1, or 2+ media files,
   with/without directories or nested ZIPs. Navigate and scroll repeatedly.
5. Switch Tree / Icons; compare Windows and Linux badges, test CHR/Former font.
6. Re-run Windows 32/64 OpenGL/D3D11 and Linux x86/x86_64 OpenGL/Vulkan
   native compiler matrix using the unchanged external three-script bootstrap.

Validation:
- Static/source-level and archive-content inspection completed.
- Native FreeBASIC compilation, GUI startup, live SNES ROM behavior and the
  cross-platform build matrix were NOT executed in this environment (fbc absent).
- This is a SOURCE CHECKPOINT for hands-on verification, not a verified binary.
- No Python files or tools are included in the Developer Distribution.
